/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package scrabble;

import Scrabble.Fichier;
import java.io.RandomAccessFile;
import java.util.StringTokenizer;

/**
 *
 * @author KhoufiAsma
 */
public class Dictionnaire {
    private Fichier dic;
    private Fichier ind;
    private String mot;
    private int adrdeb;
    private int lon;
    private String fichier;
    private String fichier_ind;
    private String [] ch=new String[4];
    
    public Dictionnaire(int langue)
    {if (langue==0)
    {fichier="../documenttrie.txt";
    fichier_ind="../index.txt";
        dic=new Fichier(fichier);
        ind=new Fichier(fichier_ind);
    }
    if (langue==1)
    {
        fichier="../dic_en.txt";
    fichier_ind="../index_en.txt";
     dic=new Fichier(fichier);
        ind=new Fichier(fichier_ind);
    }
    
    }
    private void chercherAdresses()
    {String chaine;
    
    if(ind.ouvrirEnLecture())
    {chaine=ind.lire();
     while(chaine!= null)
     {  int i=0;
         StringTokenizer st = new StringTokenizer(chaine);
         
         while (st.hasMoreTokens()) {
                 ch[i++]=st.nextToken(); 
                 
         }
         chaine=ind.lire();
         
        if(ch[0].charAt(0)==mot.charAt(0) && Integer.parseInt(ch[1])==mot.length() )
        { adrdeb=Integer.parseInt(ch[2]);
          lon=Integer.parseInt(ch[3]);
        break;
        }
       
        }  
     
    
     
     ind.fermer();
    
    }
    }
    public boolean VérifierMot(String mot)
    {
        this.mot=mot;
       chercherAdresses();
       String chaine;
        int i=0;
        try{ 
            RandomAccessFile raf = new RandomAccessFile(fichier, "r");
            raf.seek(adrdeb);
            chaine=raf.readLine();
        while(!mot.equals(chaine) && i<lon )  
        
        {chaine=raf.readLine();
            i++;
           
        }  
      
        if(i>=lon)
        {
            
            return false;
            
        }
        
        else
    {
    return true;
    }
          
       }
       catch(Exception e){ return false;}
         
         
     
    }
   
}
